#ifndef _TYPES_H
#define _TYPES_H

#if __cplusplus
#include "../../EdgeMath/Vectors.h"
typedef Vector2 float2;
typedef Vector3 float3;
typedef Vector4 float4;
typedef Matrix float4x4;
#else
	struct differedPSOutput
	{
		float4 diffuse	: SV_TARGET0;
		float4 normal	: SV_TARGET1;
		float4 specular	: SV_TARGET2;
		float depth	: SV_TARGET5;
	};

	struct differedVSOutput
	{
		float4 position			: SV_POSITION;
		float4 worldPosition	: WORLDPOSITION;
		float2 uv				: TEXCOORD;
		float2 depthDiv			: DEPTHDIV;
		float3x3 tbn			: TBN;
	};

	struct SkyboxVSOutput
	{
		float4 position : SV_POSITION;
		float3 uvw		: TEXCOORD;
	};
#endif
#endif